package org.jeecg.modules.erp.basic.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: erp单据编码规则表
 * @Author: jeecg-boot
 * @Date:   2025-08-13
 * @Version: V1.0
 */
@Data
@TableName("erp_bill_class_rule_detail")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@Schema(description="erp单据编码规则表")
public class ErpBillClassRuleDetail implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @Schema(description = "主键")
    private String id;
	/**创建人*/
    @Schema(description = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "创建日期")
    private Date createTime;
	/**更新人*/
    @Schema(description = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "更新日期")
    private Date updateTime;
	/**所属部门*/
    @Schema(description = "所属部门")
    private String sysOrgCode;
	/**编码规则ID*/
	@Excel(name = "编码规则ID", width = 15)
    @Schema(description = "编码规则ID")
    private String billClassRuleId;
	/**排序*/
	@Excel(name = "排序", width = 15)
    @Schema(description = "排序")
    private Integer sort;
	/**流水号长度*/
	@Excel(name = "流水号长度", width = 15)
    @Schema(description = "流水号长度")
    private Integer lengthFlow;
	/**流水号*/
	@Excel(name = "流水号", width = 15)
    @Schema(description = "流水号")
    private Integer maxFlow;
	/**补位符*/
	@Excel(name = "补位符", width = 15)
    @Schema(description = "补位符")
    private String codeCover;
	/**日期格式*/
	@Excel(name = "日期格式", width = 15)
    @Schema(description = "日期格式")
    private Integer dateFormat;
	/**常量*/
	@Excel(name = "常量", width = 15)
    @Schema(description = "常量")
    private String constantChar;
	/**当前日期*/
	@Excel(name = "当前日期", width = 15)
    @Schema(description = "当前日期")
    private String maxDate;
}
